"""
对于str list tuple dict set都通用的方法

  + ,
  * ,  这个乘法的意思是把元素的个数拷贝n份，而不是里面的值*10
  in ,   元素是否在序列中 ，返回True ，false
  not in

  len() 返回序列长度
  del 序列[xxx] 删除序列中的某个元素
  range(开始值，结束值，步长) ，含左不含右
  enumerate(序列对象，开始索引) ， 会返回一个索引和序列中的值的集合

  list，set，tuple三个序列之间的转化
  list(set/tuple) 转为list
  set(list/tuple) 转为set
  tuple(list/set) 转为tuple

"""
print("----------这是一个字符串----------")
str1 = 'aaa'
str2 = 'bbb'
str3 = str1 + str2
print(str3)
print(str1*3)
print("a" in str1)
print("a" not in str1)
print(len(str1))
del str1
#print(str1) # 删除之后无法再打印str1，删除的是这个变量
print(max("abcdefgh"))
print(min("abcdefgh"))


print("----------这是一个列表----------")
list1 = [1,2,3]
list2 = [4,5,6]
print(list1+list2)
print(list1*10) # 把里面的元素循环10遍，而不是里面的值*10
print(1 in list1)
print(1 not in list1)

print("----------这是一个元组----------")
tuple1 = (1,2,3)
tuple2 = (4,5,6)
print(tuple1+tuple2)
print(tuple1*10)
print(1 in tuple1)
print(2 in tuple2)

print("----------这是一个字典----------")
dict1 = {
    'name':"Tom",
    "age":12
}
print(dict1)

print("----------这是一个range(开始，结束,步长)03 函数 含左不含右----------")
for i in range(10):
    print(i,end=",")
print("")
for i in range(0,10,2):
    print(i ,end=",")
print("")


print("----------这是一个enumerate(开始，结束,步长)03 函数 含左不含右----------")
# 语法：enumerate(可以遍历的对象，开始索引=xx)
lista  = ['a','b','c','d','e','f','g']
for index,item in enumerate(lista):
    print(f"索引{index},值：{item}")

print("----------list tuple set列表元组，集合之间是可以相互转化的----------")
# 将序列转为列表
print("将序列转为列表")
stra = "abcdefg"
tuplea  = ('a','b','c','d','e','f','g')
seta = {1,2,3,4}
print(list(stra))
print(list(tuplea))
print(list(seta))

#将list set 转为tuple
print("将list set 转为tuple")
listb  = ['a','b','c','d','e','f','g']
setb = {1,2,3,4}
print(tuple(listb))
print(tuple(setb))

#将list tuple 转为set
print("将list tuple 转为set")
listc  = ['a','b','c','d','e','f','g']
tuplec = (1,2,3,4)
print(set(listc))
print(set(tuplec))

print("list转为str")
# 看看list是否可以转为string 发现是不行的
#print(str(['a', "b", "c", "d"])) #['a', 'b', 'c', 'd']
print("".join(['a', "b", "c", "d"])) #


